草庐IT

python线程: memory model and visibility

全部标签

Python进程在django db上传脚本中不断增长

我正在运行一个转换脚本,该脚本使用Django的ORM将大量数据提交到数据库。我使用手动提交来加速这个过程。我有数百个文件要提交,每个文件将创建超过一百万个对象。我使用的是Windows764位。我注意到Python进程一直在增长,直到消耗超过800MB,而这只是第一个文件!脚本循环遍历文本文件中的记录,重复使用相同的变量并且不累积任何列表或元组。我读了here这是Python(也许是任何程序)的普遍问题,但我希望Django或Python有一些明确的方法来减少进程大小......下面是代码的概述:importsys,ossys.path.append(r'D:\MyProject')

c++ - [C++] 对于线程中的 'sleep' 函数,这是否是一种有效的方法?

我想在我的线程类中实现一个sleep()函数,但我不知道这是否是一种有效/正确的方法。这是我的整个线程类(thread.h):#includestructRUNNABLE{virtualvoidrun()=0;};classthread{public:voidstart(void*ptr){DWORDthr_id;HANDLEthr_handl=(HANDLE)_beginthreadex(NULL,0,thread_proc,ptr,0,(unsignedint*)&thr_id);}voidsleep(intsleep_time,boolalertable){SleepEx(sle

python - 导入错误 : cannot import name aliases

我刚刚使用来自officialsite的安装程序在WindowsVista上安装了Python2.7.1。,运行python.exe时出现这样的错误C:\Python27>python.exeTraceback(mostrecentcalllast):File"C:\Python27\Lib\site.py",line553,inmain()File"C:\Python27\Lib\site.py",line542,inmainaliasmbcs()File"C:\Python27\Lib\site.py",line467,inaliasmbcsimportlocale,codecsF

python - 在使用 Python 的 Windows 中,如何终止我的进程?

编辑:看起来像是重复的,但我向你保证,它不是。我希望彻底终止当前正在运行的进程,而不是终止一个单独的进程。问题是我正在终止的进程不是由子进程或exec产生的。它基本上是在试图自杀。场景如下:程序在退出时进行清理,但有时这会花费太长时间。我确信我可以终止程序,因为退出的第一步保存了数据库。我该怎么做?不能使用taskkill,因为它在某些Windows安装中不可用,例如家庭版XPtskill也不起作用win32api.TerminateProcess(handle,0)有效,但我担心它可能会导致内存泄漏,因为我没有机会关闭句柄(程序在之后立即停止调用TerminateProcess)。注

c++ - 使用 beginthreadex 创建线程时调试应用程序挂起

我在现场遇到一个奇怪的问题,我们的应用程序在启动时挂起。现场拿到custom生成的crashdump,显示主线程被beginthreadexapi卡住了。这是调用堆栈:0:006>kvChildEBP0161ebb8ntdll!KiFastSystemCallRet(FPO:[0,0,0])0161ebbcntdll!ZwWaitForSingleObject+0xc(FPO:[3,0,0])0161ebf8ntdll!RtlpWaitOnCriticalSection+0x1a3(FPO:[2,7,4])0161ec18ntdll!RtlEnterCriticalSection+0x

windows - 服务 OnExecute 失败,生成的线程未执行

首先开始在Delphi7中启动我自己的服务。遵循文档并使服务生成一个自定义线程,该线程会发出蜂鸣声并记录日志。只有它没有。最后一次尝试是在OnExecute事件过程中放置​​相同的蜂鸣声和日志代码,但是当我启动该服务时,我收到一个Windows对话框,提示它已启动然后再次停止。在thiscode中应该有一些明显的东西被我忽略了.你能看看吗?我还将接受指向简单、有效、可下载的服务示例项目的链接……这样我就可以得到每10秒左右调用一次的东西,我将从那里获取它。 最佳答案 接下来是一个基本的服务应用程序。请注意,如果您想使用Service

Python:用 py2exe 编译的脚本会卡住操作系统吗?

我正在使用py2exe在WindowsXp/7/2000上编译可执行文件中的python脚本。我想知道这样的可执行脚本是否会卡住操作系统,我必须重新启动Windows。我想如果我尝试管理驱动程序库,可能会出现这样的问题。你怎么看? 最佳答案 理论上是的。Windows并不是目前最稳定的操作系统,程序有时甚至会“卡住”它,甚至无需处理驱动程序和内核模式代码。Python程序在这方面没有任何不同,无论是否使用py2exe打包,因为Windows上的Python程序可以轻松访问任何其他程序可以访问的相同WindowsAPI。但是,我觉得您

python - 在哪里可以找到适用于 MS Windows 的 Python `pwd` 模块?

我在GNU+Linux上使用Python标准库pwd模块,但现在我尝试在MicrosoftWindows中运行我的应用程序,但找不到它。我正在使用python2.6.6。在哪里可以找到在MSWindows上的Python中使用的pwd模块? 最佳答案 来自thedocs:Platforms:Unix您需要在PyWin32和MSDN中挖掘Windows等效项。 关于python-在哪里可以找到适用于MSWindows的Python`pwd`模块?,我们在StackOverflow上找到一个

python - Windows 不生成 Python 编译文件

我目前正在Windows7环境中开发Pyramid网络应用程序。我一直在我的Mac上开发这个应用程序,但最近没用了,所以我不得不转移到我的Windows机器上。我已经设置了我需要的一切;Python2.7、Pyramid、pyramid_beaker、MongoDB、mongoengine等它似乎在我编辑模板时起作用。但是,当我尝试编辑View以向应用程序添加新页面时,它似乎无法找到它。我添加了以下路线:config.add_route('info_about','/info/about')config.add_route('info_contact','/info/contact')

Python内存限制?接近限制时清除GC?

在执行其他内存密集型操作之前如何清除垃圾收集对象?还是内存满了自动完成?为什么看起来Python(+Eclipse)在2GB(Win32)时抛出内存异常,而实际上在Windows上仍有一些内存未使用?是否在任何地方定义了限制? 最佳答案 您可以使用gc模块调整垃圾收集器的性能——例如,使用gc.set_threshold。--或者你可以“手动”收集垃圾:gc.collect.但是,我相信大多数时候,对象的引用计数归零后会立即被收集。因此,明确地说,(感谢delnan!)垃圾回收仅在循环引用阻止引用计数达到零时才成为问题。另请注意gc